var child_process = require('child_process');

// 设置execArgv的目的一般在于，让子进程跟父进程保持相同的执行环境。
var child = child_process.fork('./cluster/child.js', {
  execArgv: process.execArgv
});

console.log('parent execArgv: ' + process.execArgv);

child.on('message', function(m){
    console.log('message from child: ' + JSON.stringify(m));
});

// IPC 通讯
child.send({from: 'parent'});



// 例子一：会打印出 output from the child
// 默认情况，silent 为 false，子进程的 stdout 等
// 从父进程继承
// child_process.fork("./cluster/child.js", {
//   silent: false,
// });

// 例子二：不会打印出 output from the silent child
// silent 为 true，子进程的 stdout 等
// pipe 向父进程
// child_process.fork("./cluster/silentChild.js", {
//   silent: true,
// });

// 例子三：打印出 output from another silent child
// var child = child_process.fork("./cluster/anotherSilentChild.js", {
//   silent: true,
// });

// child.stdout.setEncoding("utf8");
// child.stdout.on("data", function (data) {
//   console.log(data);
// });
